/**
*created by xuqiang 19/05/08
*系统总文件
*/

import Vue from 'vue'
import App from './App.vue'

/**全家桶开始*/
import router from './router' //路由

import ElementUI from 'element-ui'//ui组件
import '../node_modules/element-ui/lib/theme-chalk/index.css'
Vue.use(ElementUI);
/**全家桶结束*/

/*全局工具类开始*/
import local from './global/local'
import util from './global/util'
Vue.prototype.$local = local; // 引入全局缓存
Vue.prototype.$util = util; // 引入全局工具包
/*全局工具类结束*/

/**第三方插件开始*/
//npm模式
import qs from 'qs'; //qs
Vue.prototype.$qs = qs;

import echarts from 'echarts' //全局引入Echarts
Vue.prototype.$echarts = echarts;

import VCharts from 'v-charts' //基于vue 与 echarts 的插件
Vue.use(VCharts);

/**第三方插件结束*/

import config from './config/index' //config配置文件
Vue.prototype.$config = config;
// import './mock/index' //引入Mock
import './utils/rem' //动态计算html 的font-size

import './assets/icons/index';//引入svg模板

import * as filters from './filters'; //全局过滤器
Object.keys(filters).forEach(key => {  // 注册过滤器
    Vue.filter(key, filters[key])
});

Vue.config.productionTip = false;//设置为 false 以阻止 vue 在启动时生成生产提示。
Vue.config.devtools = true; // 务必在加载 Vue 之后，立即同步设置以下内容
Vue.config.errorHandler = function (err, vm, info) { //处理错误信息, 进行错误上报
    /**
     * @err 错误对象
     * @vm Vue实例
     * @`info` 是 Vue 特定的错误信息，比如错误所在的生命周期钩子
     * 只在 2.2.0+ 可用
    */
    console.error(err);
    console.error(vm);
    console.error(info);
};
Vue.config.keyCodes = {
    // camelCase 不可用 取而代之的是 kebab-case 且用双引号括起来
    "media-play-pause": 179,
    // enter:23
};
new Vue({
    render: h => h(App),
    router,
}).$mount('#app');
